package com.huilian.iotbox.admin.service;

import com.huilian.iotbox.data.common.ServerResponse;
import com.huilian.iotbox.data.dto.StatsAgencyDto;
import com.huilian.iotbox.data.po.StatsAgency;
import com.huilian.iotbox.data.vo.StatsAgencyVo;

import java.util.List;


/**
 * @author lizhiquan
 * @CreateDate: 2021-04-13 19:16
 * @Description:
 */
public interface StatsAgencyService {

    /** 统计代理分润，必须场地统计好，再统计代理 */
    void statsAgencyDaySettlementJobMo(String startTime, String endTime, String yesterday) throws Exception;
    
    void statsAgencyDaySettlementJobJin(String startTime, String endTime, String yesterday) throws Exception;

    ServerResponse findList(StatsAgencyDto statsAgencyDto);

    Exception statsDayStoreAndAgencyJob();

    void statsMonthAgencyJob(String startDateStr,String endDateStr);

    /**
     * 统计昨天的销售额,利润,交易笔数,销量(游戏币)
     */
    StatsAgencyVo findCountYesterday(StatsAgency statsAgency);


    /**
     * 统计每月,每日的销售额
     * @param statsAgencyDto
     * @return
     */
    List<StatsAgencyVo> findMonthlyTurnover(StatsAgencyDto statsAgencyDto);

    /**
     * 统计每月,每日的销售额
     * @param statsAgencyDto
     * @return
     */
    List<StatsAgencyVo> findMonthlyOrderCount(StatsAgencyDto statsAgencyDto);

    /**
     * 统计每月,每日的销售额
     * @param statsAgencyDto
     * @return
     */
    List<StatsAgencyVo> findMonthlyTotalCommission(StatsAgencyDto statsAgencyDto);


    /**
     * 统计代理商利润排行前几
     * @return
     */
    List<StatsAgencyVo> findAgencyTotalCommissionTop(StatsAgencyDto statsAgencyDto);

    /**
     * 统计基本运营情况
     * @param statsAgencyDto
     * @return
     */
    StatsAgencyVo findStateAgency(StatsAgencyDto statsAgencyDto);
}
